#include "Prueba.h"

#include "Cadena.h"
#include "ConductorPrueba.h"
#include "EstadisticaPrueba.h"


Prueba::Prueba()
{
	m_Conductor = NULL;
	m_EstadisticaPrueba = new EstadisticaPrueba();
}

Prueba::~Prueba()
{
}

void Prueba::Verificar(TipoRetorno retorno, TipoRetorno retornoEsperado, Cadena comentario)
{
	m_EstadisticaPrueba->ActualizarEstadisticas(retorno,retornoEsperado);
	m_Conductor->Verificar(retorno,retornoEsperado,comentario);
}

void Prueba::CorrerPrueba(ConductorPrueba* conductor)
{
	m_Conductor = conductor;
	Cadena nombrePrueba = GetNombre();
	m_Conductor->GetManejadorSalida()->CrearDirectorio(nombrePrueba);
	m_Conductor->GetManejadorSalida()->SetSalidaArchivo(nombrePrueba + ".txt");
	CorrerPruebaConcreta();
	m_Conductor->GetManejadorImpresion()->ImprimirTotalResultados(m_EstadisticaPrueba);
	m_Conductor->GetManejadorSalida()->CambiarDirectorio("..");
	m_Conductor = NULL;
}